package com.billing.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.billing.model.entity.ManagerUsersBean;
import com.billing.model.entity.TUser;
import com.billing.model.entity.TUserBuffer;

public interface UserBufferService {
	/**
	 * 获取档案列表信息
	 * @param name 员工名称
	 * @param dept 部门名称
	 * @param starttime 起始时间
	 * @param endtime 结束时间
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public List<TUserBuffer> selectTUserList(String name,String dept,Long starttime,Long endtime,String jobnumber,
			int organizationid,int currentPage,int pageSize);
	/**
	 * 获取档案列表条数信息
	 * @param name 员工名称
	 * @param dept 部门名称
	 * @param starttime 起始时间
	 * @param endtime 结束时间
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public int selectTUserNum(String name,String dept,Long starttime,Long endtime,String jobnumber,int organizationid);
	
	/**
	 * 根据ID获取信息
	 * @param name
	 * @return
	 */
	public TUserBuffer selectTUserId(String id);
	/**
	 * 修改个人档案信息
	 * @param attendance
	 * @return
	 */
	public int updateTUser(TUserBuffer user);
	/**
	 * 修改个人档案信息(根据主体操作)
	 * @param attendance
	 * @return
	 */
	public int updateTUserByUser(TUser user);
	
	/**
	 * 新增员工信息
	 * @param usert
	 * @return
	 */
	public int insertTUser(TUserBuffer user);
	/**
	 * 新增员工信息(根据主体操作)
	 * @param usert
	 * @return
	 */
	public int insertTUserByUser(TUser user);
	/**
	 * 根据ID删除员工信息
	 * @param id
	 * @return
	 */
	public int deleteTUser(int id);
	
	/**
	 * 根据ID获取信息
	 * @param name
	 * @return
	 */
	public TUserBuffer selectTUserPayId(String id);
	/**
	 * 根据ID获取信息
	 * @param id
	 * @return
	 */
	public TUserBuffer getTUserById(@Param("id")String id);
	/**
	 * 根据ID获取信息
	 * @param id
	 * @return
	 */
	public TUserBuffer getTSubsidyById(String id);
	/**
	 * 判断手机号码是否存在
	 * @param mobile
	 * @return
	 */
	public boolean userMobileIsExist(String mobile,String orgid,String userid);
	/**
	 * 判断身份证号码是否存在
	 * @param mobile
	 * @return
	 */
	public boolean userIdcardIsExist(String idcard,String orgid,String userid);
	/**
	 * 获取档案列表信息
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public List<TUserBuffer> selectTUserLoginnameList(String loginname,
			int organizationid,int currentPage,int pageSize);
	/**
	 * 获取档案列表条数信息
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public int selectTUserLoginnameNum(String loginname,int organizationid);
}
